6e0c2ac66d57e4d1e3d1a0c51706dc1df706411c,plugins/org.eclipse.xtext.xtend2/src/org/eclipse/xtext/xtend2/scoping/InjectedExtensionMethodsFeaturesProvider.java,InjectedExtensionMethodsFeaturesProvider,getAllFeatures,#JvmTypeReference#Iterable#,84
Before Change
public Iterable<JvmFeature> getAllFeatures(JvmTypeReference reference,
Iterable<JvmTypeReference> hierarchy) {
JvmTypeReference typeReference = xtendField.getType();
JvmType rawType = typeRefs.getRawType(typeReference);
if (rawType instanceof JvmDeclaredType) {
List<JvmFeature> result = newArrayList();
Iterable<JvmFeature> features = ((JvmDeclaredType) rawType).getAllFeatures();
collectExtensions(hierarchy, features, result);
return result;
} else {
return Collections.emptyList();
}
}
After Change
public Iterable<JvmFeature> getAllFeatures(JvmTypeReference reference,
Iterable<JvmTypeReference> hierarchy) {
JvmTypeReference typeReference = xtendField.getType();
List<JvmType> rawTypes = getRawTypeHelper().getAllRawTypes(typeReference, xtendField.eResource());
List<JvmFeature> result = newArrayList();
for(JvmType rawType: rawTypes) {
if (rawType instanceof JvmDeclaredType) {
Iterable<JvmFeature> features = ((JvmDeclaredType) rawType).getAllFeatures();
collectExtensions(hierarchy, features, result);
}
}
return result;